package com.heima.article.client;

import com.heima.common.dtos.PageResult;
import com.heima.common.dtos.ResponseResult;
import com.heima.model.admin.dtos.ChannelDto;
import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.dtos.AuthorDto;
import com.heima.model.media.dtos.WmNewsDto;
import com.heima.model.media.dtos.WmNewsResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient("leadnews-article")
public interface ArticleFeign {
    /**
     * 保存作者
     * @param dto
     * @return
     */
    @PostMapping("/api/v1/author/save")
    Integer saveAuthor(@RequestBody AuthorDto dto);


    /**
     * 保存文章
     * @param dto
     * @return
     */
    @PostMapping("/api/v1/article/save")
    Long saveArticle(@RequestBody WmNewsResultDTO dto);


    /**
     * 分页查询文章数据
     *
     * @param size
     * @param page
     * @return
     */
    @GetMapping("/api/v1/article/findByPage")
    List<ArticleDto> findByPage(@RequestParam("size") Integer size,
                                @RequestParam("page") Integer page);


    /**
     * 根据id 查询自媒体文章
     *
     * @param id
     * @return
     */
    @GetMapping("/api/v1/news/one/{id}")
    ArticleDto selectOneArticle(@PathVariable("id") Integer id);


    /**
     * 删除自媒体文章
     * @param id
     * @return
     */
    @DeleteMapping("/api/v1/news/del_news/{id}")
    void deleteByIdArticle(@PathVariable("id") Integer id);


    /**
     * 审核通过
     *
     * @param
     * @return
     */
    @PostMapping("/api/v1/news_auth/auth_pass")
    void saveById(@RequestBody WmNewsResultDTO dto);
}
